<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    
<head>   
    
     
    <script type="text/javascript" src="http://c.csdnimg.cn/pubfooter/js/tracking.js" charset="utf-8"></script>  

    <script type="text/javascript">
        var protocol = window.location.protocol;
        document.write('<script type="text/javascript" src="' + protocol + '//csdnimg.cn/pubfooter/js/repoAddr2.js?v=' + Math.random() + '"></' + 'script>');
    </script>

     <script id="allmobilize" charset="utf-8" src="http://a.yunshipei.com/46aae4d1e2371e4aa769798941cef698/allmobilize.min.js"></script>
 <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />

    <title>Windows中搭建PHP扩展开发环境 - God&#39;s blog
        - 博客频道 - CSDN.NET</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="对各位注意到这个帖子的朋友说一声对不起，我不是故意的测试服务器一直没关，一忙就给忘了删了.....如果有管理员看到，可以把这个阅读数什么的清零，谢谢" />
    <script src="http://static.blog.csdn.net/scripts/jquery.js" type="text/javascript"></script>
    <script type="text/javascript" src="http://static.blog.csdn.net/scripts/ad.js?v=1.1"></script>
        <!--new top-->
               <link rel="stylesheet" href="http://static.csdn.net/public/common/toolbar/css/index.css">        <!--new top-->

    <link rel="Stylesheet" type="text/css" href="http://static.blog.csdn.net/skin/dark1/css/style.css?v=1.1" />
    <link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="/a600423444/rss/list" />
    <link rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico" />
    <link type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/default.css" />
 


</head>
<body>
    
   
      <!--new top-->
    <script id="toolbar-tpl-scriptId" fixed="true" prod="blog" skin="black" src="http://static.csdn.net/public/common/toolbar/js/html.js" type="text/javascript"></script>
     <!--new top-->
    <div id="container">
        <div id="header">
    <div class="header">
        <div id="blog_title">
            <h2>
                <a href="http://blog.csdn.net/a600423444">God&#39;s blog</a></h2>
            <h3>梦只在昨天，今天仍需努力</h3>
            <div class="clear">
            </div>
        </div>
        <div class="clear">
        </div>
    </div>
</div>
<div id="navigator">
    <div class="navigator_bg">
    </div>
    <div class="navigator">
        <ul>
            
                <li id="btnContents"><a href="http://blog.csdn.net/a600423444?viewmode=contents"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])">
                    <img src="http://static.blog.csdn.net/images/ico_list.gif">目录视图</span></a></li>
                <li id="btnView"><a href="http://blog.csdn.net/a600423444?viewmode=list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])">
                    <img src="http://static.blog.csdn.net/images/ico_summary.gif">摘要视图</span></a></li>
                <li id="btnRss"><a href="http://blog.csdn.net/a600423444/rss/list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])">
                    <img src="http://static.blog.csdn.net/images/ico_rss.gif">订阅</span></a></li>                

            </ul>
    </div>
</div>
<script type="text/javascript">
    var username = "a600423444";
    var _blogger = username;
    var blog_address = "http://blog.csdn.net/a600423444";
    var static_host = "http://static.blog.csdn.net";
    var currentUserName = "";  
</script>

        <div id="body">
            <div id="main">
                <div class="main">
                        <div class="ad_class">
<div class="notice tracking-ad" data-mod='popu_3' > 

<a href="http://special.csdncms.csdn.net/rust/index.shtml"><font color=red>
Rust开发技术学习路线</font></a>
&nbsp;&nbsp;&nbsp;
  

<a href="http://huiyi.csdn.net/activity/product/goods_list?project_id=2262">
<font color=blue>专家亲授Hadoop技术，你报名了吗？ 
</font></a>
&nbsp;&nbsp;&nbsp;

<a href="http://edu.csdn.net/combo/detail/63">
<font color=red>软考套餐限时7折优惠 
</font></a>
&nbsp;&nbsp;&nbsp;

<a href="http://www.csdn.net/app/">
<font color=blue>CSDN移动客户端，下载送50C币
</font></a>
&nbsp;&nbsp;&nbsp;</div>                        </div>
                        

  
<link href="http://static.blog.csdn.net/css/comment1.css" type="text/css" rel="stylesheet" />
<link href="http://static.blog.csdn.net/css/style1.css" type="text/css" rel="stylesheet" />
<script language='JavaScript' type='text/javascript' src='http://download.csdn.net/js/jquery.cookie.js'></script>
<script type="text/javascript" src="http://c.csdnimg.cn/rabbit/search-service/main.js"></script>
<link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=1.0" />
<script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>

  <script type="text/ecmascript">
      window.quickReplyflag = true;
    </script>
<div id="article_details" class="details">
    <div class="article_title">   
         <span class="ico ico_type_Original"></span>


    <h1>
        <span class="link_title"><a href="/a600423444/article/details/8108993">
        Windows中搭建PHP扩展开发环境            
        </a></span>
    </h1>
</div>

   

    <div class="article_manage">
        <span class="link_categories">
        分类：
            <a href="/a600423444/article/category/748528" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">C/C++</a> 
            <a href="/a600423444/article/category/734217" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">PHP</a> 
        </span>
    <span class="link_postdate">2012-10-25 08:00</span>
    <span class="link_view" title="阅读次数">9569人阅读</span>
    <span class="link_comments" title="评论次数"><a href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(5)</span>
    <span class="link_collect"><a href="javascript:void(0);" onclick="javascript:collectArticle('Windows中搭建PHP扩展开发环境','8108993');return false;" title="收藏">收藏</a></span>
    <span class="link_report"><a href="#report"  onclick="javascript:report(8108993,2);return false;" title="举报">举报</a></span>
    
</div>

  

  
  
     

<div id="article_content" class="article_content">

<div>
<div style="font-family:Tahoma; font-size:14px">
<h2 style="margin:0px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; color:rgb(51,51,51); font-size:24px; line-height:36px">
一、提前准备</h2>
</div>
<div style="font-family:Tahoma; font-size:14px">下载并安装VS2008</div>
<div style="font-family:Tahoma; font-size:14px">下载PHP5.4.5程序：</div>
<div style="font-family:Tahoma; font-size:14px"><a href="http://yunpan.cn/lk/sVSIPGqvNDnUh?sid=301">NTS下载</a></div>
<div style="font-family:Tahoma; font-size:14px"><a href="http://yunpan.cn/lk/sVSISyrXJIvxA?sid=301">TS下载</a></div>
<div style="font-family:Tahoma; font-size:14px"><strong><span style="color:#2D4FC9">其中php二进制包分为VC6、VC8、VC9及TS和NTS版本。</span></strong></div>
<div style="font-family:Tahoma; font-size:14px"><strong><span style="color:#2D4FC9">VC6、VC8、VC9分别对应VC6、VC2005、VC2008</span></strong></div>
<div style="font-family:Tahoma; font-size:14px"><strong><span style="color:#2D4FC9">TS表示(Thread Safe)，当以ISAPI(IIS SERVER)允许时，因为是单进程中执行多线程，为避免内存泄漏和共享变量安全，建议使用TS版本。</span></strong></div>
<div style="font-family:Tahoma; font-size:14px"><strong><span style="color:#2D4FC9">当以FAST_CGI等以单一进程来执行，这样就无需进行线程的安全检查。</span></strong></div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
<div style="font-family:Tahoma; font-size:14px"><a href="http://yunpan.cn/lk/sVSISVSCCiUpE?sid=301">下载PHP5.4.5源码</a></div>
<div style="font-family:Tahoma; font-size:14px"><a href="http://yunpan.cn/lk/sVSISdfxUErJ2?sid=301">下载PHP-SDK</a></div>
<div style="font-family:Tahoma; font-size:14px"><a href="http://yunpan.cn/lk/sVSIPWHtZBuvb?sid=301">下载MSYS</a>，它包括Windows下linux编译器的实现</div>
<div style="font-family:Tahoma; font-size:14px"><a href="http://yunpan.cn/lk/sVSIPLNLztk2X?sid=301">下载deps</a></div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
<div style="font-family:Tahoma; font-size:14px">下面的配置基础，以f:\php_stdio文件夹为基础</div>
</div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
<div style="font-family:Tahoma; font-size:14px">
<div>
<div style="font-family:Tahoma; font-size:14px">
<h2 style="margin:0px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; color:rgb(51,51,51); font-size:24px; line-height:36px">
二、编译PHP</h2>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; color:rgb(51,51,51)">
首先下载php-sdk，先下载较新的php-sdk-binary-tools-20110915.zip，解压到</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238)">
<p style="margin-top:0px; margin-bottom:0px; text-indent:2em; font-size:14px; line-height:1.8em; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; color:rgb(51,51,51)">
<span style="color:rgb(0,0,0); font-family:Tahoma; font-size:14px; line-height:normal">f:\php_stdio\</span>php-sdk</p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
目录下。注意，解压后，这个目录下应该有bin和script子目录。</p>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
开一个cmd窗口，切换到f:\php_stdio\php-sdk<span style="line-height:1.8em; text-indent:2em">目录下，运行vcvarsall.bat来设置好编译环境变量。</span></p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13px; line-height:22px">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
VS2008安装路径\VC\vcvarsall.bat</p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
这里vcvarsall.bat的具体目录要根据你自己的安装位置而定。</p>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
接着，进入在cmd窗口里继续运行以下命令：</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13px; line-height:22px">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
bin\phpsdk_setvars.bat</p>
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
bin\phpsdk_buildtree.bat php54dev</p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
这样，在f:\php_stdio\php-sdk<span style="line-height:1.8em; text-indent:2em">目录下又多了一个php54dev目录。</span></p>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
</p>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
接着继续将deps解压到</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
f:\php_stdio\php-sdk\php54dev\vc9\x86\</p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
目录下。原来这个目录下的deps目录下的所有子目录均是空目录，解压后，应该复制进很多必要的模块/扩展所需的库文件。</p>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
接下来，将PHP-5.4.5源码目录复制一份到</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
f:\php_stdio\php-sdk\php54dev\vc9\x86\</p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
目录下。进入php源码目录</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
cd&nbsp;f:\php_stdio\php-sdk<span style="line-height:1.8em; text-indent:2em">\php54dev\vc9\x86\php-5.4.5</span></p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
运行</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13px; line-height:22px">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
buildconf</p>
</blockquote>
<p style="margin-top:0px; margin-bottom:9px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em; text-indent:2em; color:rgb(51,51,51)">
然后就可以先试着编译php了。最开始，一般编译尽可能少的模块，先让核心能正常编译出来：</p>
<blockquote style="padding:0px 0px 0px 15px; margin:0px 0px 18px; border-left-width:5px; border-left-style:solid; border-left-color:rgb(238,238,238); color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13px; line-height:22px">
<p style="margin-top:0px; margin-bottom:0px; font-size:14px; line-height:1.8em; text-indent:2em">
configure --disable-all --enable-cli</p>
</blockquote>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; 这一步的主要目的是生成config.w32.h，如果需要生成PHP，可以继续执行</div>
</div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
<div style="font-family:Tahoma; font-size:14px; text-indent:28px"><span style="color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:25px">nmake clean; nmake</span></div>
<div style="font-family:Tahoma; font-size:14px; text-indent:28px"><span style="color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:25px">php5.4最核心部分及一个命令行工具就编译出来了。nmake clean是为了避免遗留编译中间结果文件带来干扰。</span></div>
</div>
<br>
</div>
<div>
<div>
<div style="font-family:Tahoma; font-size:14px">
<h2 style="margin:0px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; color:rgb(51,51,51); font-size:24px; line-height:36px">
三、创建新扩展my_fopen</h2>
</div>
<div style="font-family:Tahoma; font-size:14px">PHP扩展的基础结构相同，为方便开发PHP提供了ext_skel和ext_skel_win32.php分别是linux、windows下的扩展骨架搭建工具。</div>
<div style="font-family:Tahoma; font-size:14px">此次讲的是Windows中搭建PHP扩展开发环境，所以使用的是ext_skel_win32.php。用它生成的新扩展骨架，可以直接用VS打开。</div>
<div style="font-family:Tahoma; font-size:14px"><img src="http://img.my.csdn.net/uploads/201210/25/1351123320_8712.png" alt=""><br>
</div>
<div style="font-family:Tahoma; font-size:14px"><img src="file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Image.png" alt="" style=""></div>
<div style="font-family:Tahoma; font-size:14px">上图是ext_skel_win32.php支持的参数</div>
<div style="font-family:Tahoma; font-size:14px">常用的主要是--extname和--proto：</div>
<div style="font-family:Tahoma; font-size:14px">extname:指定扩展的名称</div>
<div style="font-family:Tahoma; font-size:14px">proto:为了便于快速构建函数骨架，可以创建一个文件，并写入各函数的定义。</div>
<div style="text-indent:28px"><span style="font-family:Microsoft YaHei,STHeiti,Helvetica Neue,Helvetica,Arial,sans-serif; color:#333333"><span style="font-size:14px; line-height:25px"><br>
</span></span></div>
<div style="text-indent:28px"><span style="font-family:Microsoft YaHei,STHeiti,Helvetica Neue,Helvetica,Arial,sans-serif; color:#333333"><span style="font-size:14px; line-height:25px"></span></span><pre name="code" class="plain">cd f:\php_stdio\php-sdk\php54dev\vc9\x86\php-5.4.5\ext
php ext_skel_win32.php --extname=my_fopen</pre></div>
<div style="font-family:Tahoma; font-size:14px"><span style="font-size:14px; line-height:25px; color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; text-indent:28px"><img src="http://img.my.csdn.net/uploads/201210/25/1351123325_7429.png" alt=""><br>
</span></div>
<div style="font-family:Tahoma; font-size:14px"><img src="file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Image(1).png" alt="" style=""></div>
<div style="font-family:Tahoma; font-size:14px"><span style="text-indent:28px; color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:25px">出现上述执行结果，表示新扩展骨架生成成功，现在打开f:\php_stdio\php-sdk</span><span style="text-indent:2em; color:rgb(51,51,51); font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px; line-height:1.8em">\php54dev\vc9\x86\php-5.4.5\ext可以看到my_fopen文件夹。进入my_fopen可以看到</span>my_fopen.dsp，它就是VS的项目文件。</div>
<div style="font-family:Tahoma; font-size:14px">现在可以开发你想要的扩展程序了。</div>
<div style="font-family:Tahoma; font-size:14px"><img src="file:///C:/Users/ADMINI~1/AppData/Local/Temp/enhtmlclip/Image(2).png" alt="" style=""></div>
<div style="font-family:Tahoma; font-size:14px"><img src="http://img.my.csdn.net/uploads/201210/25/1351123329_3824.png" alt=""><br>
</div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
</div>
<div style="font-family:Tahoma; font-size:14px">
<div style="font-family:Tahoma; font-size:14px">
<h2 style="margin:0px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; color:rgb(51,51,51); font-size:24px; line-height:36px">
四、编译、使用扩展</h2>
</div>
<div style="font-family:Tahoma; font-size:14px">目前新建的扩展中并未创建任何函数接口，但默认的扩展为我们提供了一个测试的函数接口，</div>
<div style="font-family:Tahoma; font-size:14px">默认函数的命名规则是：confirm_[extname]_compiled</div>
<div style="font-family:Tahoma; font-size:14px">函数接口：tring confirm_[extname]_compiled(string)</div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
<div style="font-family:Tahoma; font-size:14px">1.用VS打开my_fopen.dsp</div>
<div style="font-family:Tahoma; font-size:14px">2.设置项目属性-》配置属性-》C/C&#43;&#43;-》代码生成，设置运行库：多线程 DLL (/MD)</div>
<div style="font-family:Tahoma; font-size:14px">3.设置项目属性-》配置：切换到Release_TS</div>
<div style="font-family:Tahoma; font-size:14px"><img src="http://img.my.csdn.net/uploads/201210/25/1351123334_7006.png" alt=""><br>
</div>
<div style="font-family:Tahoma; font-size:14px">4.设置项目属性-》配置属性-》C/C&#43;&#43;-》高级，设置编译为：编译为 C 代码 (/TC)</div>
<div style="font-family:Tahoma; font-size:14px">5.设置项目属性-》配置属性-》链接器》常规，设置输出文件：Release_TS/php_my_fopen.dll。</div>
<div style="font-family:Tahoma; font-size:14px"><span style="color:rgb(255,0,0)">如果不设置，当编译生成扩展后，找起来会比较麻烦。所以这项设置不是必须的。</span></div>
<div style="font-family:Tahoma; font-size:14px">6.设置项目属性-》配置属性-》链接器》常规，增加附加库目录：F:\php_work\php-5.4.5\dev</div>
<div style="font-family:Tahoma; font-size:14px"><span style="color:#FF0000">如果不设置此选项，编译时会报：无法打开输入文件“php5ts.lib”</span></div>
<div style="font-family:Tahoma; font-size:14px"><span style="color:#FF0000"><br>
</span></div>
<div style="font-family:Tahoma; font-size:14px"><span style="color:#FF0000">7.最后按F5，执行编译。会生成php_my_fopen.dll</span></div>
<div style="font-family:Tahoma; font-size:14px"><span style="color:#FF0000"><img src="http://img.my.csdn.net/uploads/201210/25/1351123340_1121.png" alt=""><br>
</span></div>
<div style="font-family:Tahoma; font-size:14px">成功1个，表示dll生成成功。</div>
<div style="font-family:Tahoma; font-size:14px"><br>
</div>
<div style="font-family:Tahoma; font-size:14px">现在扩展已经编译成功，接下来是在PHP中使用它。</div>
<div style="font-family:Tahoma; font-size:14px">8.拷贝php_my_fopen.dll至F:\php_work\php-5.4.5\ext下</div>
<div style="font-family:Tahoma; font-size:14px">8.打开F:\php_work\php-5.4.5\php.ini，添加extension=ext/php_my_fopen.dll</div>
<div style="font-family:Tahoma; font-size:14px">9.新建F:\php_work\test.php</div>
<div style="font-family:Tahoma; font-size:14px">&lt;?php<br>
echo confirm_my_fopen_compiled(&quot;test&quot;);</div>
<br>
</div>
<div style="font-family:Tahoma; font-size:14px">
<div style="font-family:Tahoma; font-size:14px">
<h2 style="margin:0px; font-family:'Microsoft YaHei',STHeiti,'Helvetica Neue',Helvetica,Arial,sans-serif; color:rgb(51,51,51); font-size:24px; line-height:36px">
五、编译新扩展遇到的问题</h2>
</div>
<div style="font-family:Tahoma; font-size:14px">1.fatal error C1902: 程序数据库管理器不匹配;请检查安装<br>
mspdbsrv.exe 或 mspdbcore.dll 丢失或者其版本和 mspdb80.dll 的版本不同，确定这三个文件的相同版本安装在系统里。<br>
在VC安装目录下的\Common7\IDE 目录下拷贝这三个文件到 安装目录下的VC\bin下即可<br>
<br>
2. ../main/config.w32.h打开失败<br>
PHP源码进行configure后才会产生config.w32.h<br>
<br>
3.无法打开输入文件“php5ts.lib”<br>
设置工程属性页中的C&#43;&#43;-&gt;高级-&gt;编译为改为编译为C代码(/TC)，链接器-&gt;附加库目录加一项PHP二进制包的dev目录。</div>
</div>
<br>
</div>
    
        <div  style="padding-top:20px">         
            <p  style="font-size:12px;" >版权声明：本文为博主原创文章，未经博主允许不得转载。</p>
        </div>
</div>




<!-- Baidu Button BEGIN -->




<div class="bdsharebuttonbox" style="float: right;">
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"  style="background-position:0 -52px !important"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"style="background-position:0 -104px !important"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"style="background-position:0 -260px !important"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"style="background-position:0 -208px !important"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"style="background-position:0 -1612px !important" ></a>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<!-- Baidu Button END -->

   <link rel="stylesheet" href="http://static.blog.csdn.net/css/blog_detail.css" />

    
<!--172.16.140.13-->
<ul class="article_next_prev">
            <li class="prev_article"><span  onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/a600423444/article/details/7931257';">上一篇</span><a href="/a600423444/article/details/7931257" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">PHP扩展模块结构</a></li>
            <li class="next_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='/a600423444/article/details/8108999';">下一篇</span><a href="/a600423444/article/details/8108999" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">使用Sublime开发PHP扩展</a></li>
</ul>

<!-- Baidu Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=tools&amp;uid=1536434" ></script>
<script type="text/javascript" id="bdshell_js"></script>
<script type="text/javascript">
    document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->

 

        <div id="digg" ArticleId="8108993">
            <dl id="btnDigg" class="digg digg_disable">
               
                 <dt>顶</dt>
                <dd>6</dd>
            </dl>
            <dl id="btnBury" class="digg digg_disable">
              
                  <dt>踩</dt>
                <dd>0</dd>
            </dl>
        </div>
      
</div>
<div id="suggest"></div>
         <script  language="javascript" type='text/javascript'>     
             $(function(){
                 $.get("/a600423444/svc/GetSuggestContent/8108993",function(data){
                     $("#suggest").html(data);
                 });     
             });             
         </script>  


<style>
.blog-ass-articl dd {
color: #369;
width: 99%; /*修改行*/
float: left;
overflow: hidden;
font: normal normal 12px/23px "SimSun";
height: 23px;
margin: 0;
padding: 0 0 0 10px;
margin-right: 30px;
background: url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;
}
</style>

<dl class="blog-ass-articl" id="res-relatived" > 
     <dt><span>猜你在找</span></dt>    


   


    <div id="adCollege" style="width: 42%;float: left;"> 
        <script src="http://csdnimg.cn/jobreco/job_reco.js" type="text/javascript"></script> 
        <script type="text/javascript">
            csdn.position.showEdu({
                sourceType: "blog",
                searchType: "detail",
                searchKey: "8108993",
                username: "",
                recordcount: "5",
                containerId: "adCollege" //容器DIV的id。 
            });
        </script> 
    </div>  

    
     <div id="res"  data-mod="popu_36"  class="tracking-ad" style="width: 42%;float: left;margin-right: 30px;"></div>
   
</dl>

<div id="job_blog_reco">
<script src="http://c.csdnimg.cn/jobreco/job_reco.js" type="text/javascript"></script>
   
     <script type="text/javascript">
         csdn.position.show({
         sourceType: "blog",
         tplType: "blogDetail",
         searchType: "detail",
         searchKey: "8108993",
             username: "",
         containerId: "job_blog_reco"
        }); 
    </script>

</div>

<script type="text/javascript">
    $(function () {
        setTimeout(function () {
            var searchtitletags = 'Windows中搭建PHP扩展开发环境' + ',' + $("#tags").html();
            searchService({
                index: 'blog',
                query: searchtitletags,
                from: 5,
                size: 5,
                appendTo: '#res',
                url: 'recommend',
                his: 2,
                client: "blog_cf_enhance",
                tmpl: '<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="#{ url }" title="#{ title }" strategy="#{ strategy }">#{ title }</a></dd>'
            });
        }, 500);
    });    

 </script>   

    <div id="ad_cen">
   
          <script type="text/javascript">
              new Ad(4, 'ad_cen');
          </script>
    </div>
<div class="comment_class">
    <div id="comment_title" class="panel_head">
        <span class="see_comment">查看评论</span><a name="comments"></a></div>
    <div id="comment_list">
    </div>
    <div id="comment_bar">
    </div>
    <div id="comment_form">
    </div>

    <div class="announce">
        * 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场<a name="reply"></a><a name="quote"></a></div>
</div>

<script type="text/javascript">
    var fileName = '8108993';
    var commentscount = 5;
    var islock = false
</script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/comment.js"></script>
    <div id="ad_bot">
    </div>
    <script type="text/javascript">
        setTimeout(function(){
            new Ad(5, 'ad_bot');
        },500);  
    </script>
<div id="report_dialog">
</div>

<div id="d-top"  style="bottom:60px;">
        <a id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;">
            <img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复">
        </a>    

    <a id="d-top-a" class="btn btn-top backtop"  style="display: none;" title="返回顶部" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])" style="">         
         <img src="http://static.blog.csdn.net/images/top.png" alt="TOP">
    </a>
</div>
<script type="text/javascript">
    $(function ()
    {
        $("#ad_frm_0").height("90px");
        
        setTimeout(function(){
            $("#ad_frm_2").height("200px");
        },1000);    
    });
  
</script>
<style type="text/css">
    .tag_list
    {
        background: none repeat scroll 0 0 #FFFFFF;
        border: 1px solid #D7CBC1;
        color: #000000;
        font-size: 12px;
        line-height: 20px;
        list-style: none outside none;
        margin: 10px 2% 0 1%;
        padding: 1px;
    }
    .tag_list h5
    {
        background: none repeat scroll 0 0 #E0DBD3;
        color: #47381C;
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        padding: 0 5px;
        margin: 0;
    }
    .tag_list h5 a
    {
        color: #47381C;
    }
    .classify
    {
        margin: 10px 0;
        padding: 4px 12px 8px;
    }
    .classify a
    {
        margin-right: 20px;
        white-space: nowrap;
    }
</style>


<div class="tag_list" style="display:none"></div>
  <script  language="javascript" type='text/javascript'>     
      $(function(){
              setTimeout(function(){
                  $.get("/a600423444/svc/GetTagContent",function(data){
                      $(".tag_list").html(data).show();
                  });     
              });
          },500);                       
 </script> 


<div id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);">
    
</div>
<div id="popup_mask"></div>
<style>
    #popup_mask
    {
        position: absolute;
        width: 100%;
        height: 100%;
        background: #000;
        z-index: 9999;
        left: 0px;
        top: 0px;
        opacity: 0.3;
        filter: alpha(opacity=30);
        display: none;
    }

</style>




<script type="text/javascript">
    $(function(){
        setTimeout(function(){
            $(".comment_body:contains('回复')").each(function(index,item){
                var u=$(this).text().split('：')[0].toString().replace("回复","")
                var thisComment=$(this);
                if(u)
                {
                    $.getJSON("https://passport.csdn.net/get/nick?callback=?", {users: u}, function(a) {
                        if(a!=null&&a.data!=null&&a.data.length>0)
                        {
                            nick=a.data[0].n; 
                            if(u!=nick)
                            {
                                thisComment.text(thisComment.text().replace(u,nick));  
                            }
                        }       
                    });  
                }
            });
        },200);  
        
        setTimeout(function(){
            $("a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({"position":"absolute","left":"50%"});
        },300);
    });

    function loginbox(){
        var $logpop=$("#pop_win");
        $logpop.html('<iframe src="https://passport.csdn.net/account/loginbox?service=http://static.blog.csdn.net/callback.htm" frameborder="0" height="600" width="400" scrolling="no"></iframe>');

        $('#popup_mask').css({
            opacity: 0.5,
            width: $( document ).width() + 'px',
            height:  $( document ).height() + 'px'
        });
        $('#popup_mask').css("display","block");
 
        $logpop.css( {
            top: ($( window ).height() - $logpop.height())/ 2  + $( window 
       ).scrollTop() + 'px',
            left:($( window ).width() - $logpop.width())/ 2
        } );
 
        setTimeout( function () {
            $logpop.show();
            $logpop.css( {
                opacity: 1
            } );
        }, 200 );
 
        $('#popup_mask').unbind("click");
        $('#popup_mask').bind("click", function(){
            $('#popup_mask').hide();
            var $clopop = $("#pop_win");
            $("#common_ask_div_sc").css("display","none");
            $clopop.css( {
                opacity: 0
            } );
            setTimeout( function () {
                $clopop.hide();
            }, 350 );
            return false;
        });
    }    

</script>
                        <div class="clear">
                        </div>
                    </div>                   
                
            </div>
                   
           <div id="side">
    <div class="side">
<div id="panel_Profile" class="panel">
<ul class="panel_head"><span>个人资料</span></ul>
<ul class="panel_body profile">
<div id="blog_userface">
    <a href="http://my.csdn.net/a600423444" target="_blank">
    <img src="http://avatar.csdn.net/A/3/9/1_a600423444.jpg" title="访问我的空间" style="max-width:90%"/>
    </a>
    <br />
    <span><a href="http://my.csdn.net/a600423444" class="user_name" target="_blank">a600423444</a></span>
</div>
<div class="interact">

    <a href="javascript:void(0);" class="attent" id="span_add_follow" title="[加关注]"></a>

 <a href="javascript:void(0);" class="letter"  title="[发私信]" onclick="window.open('http://msg.csdn.net/letters/model?receiver=a600423444','_blank','height=350,width=700');_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_sixin'])"></a>  
</div>
<div id="blog_medal">
                       <div class="ico_expert"  onclick="javascript:location='http://blog.csdn.net/experts/rule.html'" title="CSDN认证专家" style="cursor:pointer;width:54px;height:60px;background:url('http://c.csdnimg.cn/jifen/images/xunzhang/xunzhang/bokezhuanjiamiddle.png') no-repeat" ></div>
                <div id="bms_box">
               </div>
</div>
<ul id="blog_rank">
    <li>访问：<span>528818次</span></li>
    <li>积分：<span>7944</span> </li>    
    <li >等级： <span style="position:relative;display:inline-block;z-index:1" >
            <img src="http://c.csdnimg.cn/jifen/images/xunzhang/jianzhang/blog6.png" alt="" style="vertical-align: middle;" id="leveImg">
            <div id="smallTittle" style=" position: absolute;  left: -24px;  top: 25px;  text-align: center;  width: 101px;  height: 32px;  background-color: #fff;  line-height: 32px;  border: 2px #DDDDDD solid;  box-shadow: 0px 2px 2px rgba (0,0,0,0.1);  display: none;   z-index: 999;">
            <div style="left: 42%;  top: -8px;  position: absolute;  width: 0;  height: 0;  border-left: 10px solid transparent;  border-right: 10px solid transparent;  border-bottom: 8px solid #EAEAEA;"></div>
            积分：7944 </div>
        </span>  </li>
    <li>排名：<span>第1133名</span></li>
</ul>
<ul id="blog_statistics">
    <li>原创：<span>242篇</span></li>
    <li>转载：<span>11篇</span></li>
    <li>译文：<span>0篇</span></li>
    <li>评论：<span>143条</span></li>
</ul>
</ul>
</div>


<div class="panel" id="panel_Search">
    <ul class="panel_head"><span>文章搜索</span></ul>
    <ul class="panel_body">
        <form id="frmSearch" action="http://so.csdn.net/search" class="form_search" target="_blank">
        <span><input id="inputSearch" type="text" class="blogsearch" title="请输入关键字" /></span>
        <input id="btnSubmit" type="button" value="搜索" title="search in blog" />
        <input type="hidden" name="q" id="inputQ" />
        <input type="hidden" name="t" value="blog" />
        <a id="btnSearchBlog" target="_blank"></a>
        </form>
    </ul>
</div>

<script type="text/javascript">
    $(function () {
        $("#btnSubmit").click(function () {           
            search();
        });

        $("#frmSearch").submit(function () {
            search();
            return false;
        });

        function search()
        {
            var url = "http://so.csdn.net/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog";
            window.location.href = url;
        }   
    });
</script><div id="panel_Category" class="panel">
<ul class="panel_head"><span>文章分类</span></ul>
<ul class="panel_body">    
                 <li>
                    <a href="/a600423444/article/category/876844" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">XML</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734492" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Apache</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/748528" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C/C++</a><span>(69)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/735101" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">CodeIgniter</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/822207" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Hibernate</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734218" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JAVA</a><span>(56)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/743002" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">javascript</a><span>(12)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734224" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Jquery</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734228" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JSP</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/751145" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Linux</a><span>(44)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/881466" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">MongoDB</a><span>(0)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734223" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Mysql</a><span>(9)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734217" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">PHP</a><span>(48)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734219" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Python</a><span>(0)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/765624" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Unix Shell命令</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734820" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Yii</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/734225" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">生活趣事</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/1108740" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Android</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/a600423444/article/category/1177718" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">GTK+</a><span>(0)</span>
                </li>
</ul>
</div><div id="panel_Archive" class="panel">
<ul class="panel_head"><span>文章存档</span></ul>
<ul class="panel_body">
<div id="archive_list">
<!--归档统计-->
<li><a href="/a600423444/article/month/2014/04">2014年04月</a><span>(1)</span></li><li><a href="/a600423444/article/month/2013/10">2013年10月</a><span>(1)</span></li><li><a href="/a600423444/article/month/2013/09">2013年09月</a><span>(1)</span></li><li><a href="/a600423444/article/month/2013/05">2013年05月</a><span>(2)</span></li><li><a href="/a600423444/article/month/2013/04">2013年04月</a><span>(3)</span></li><li><a href="/a600423444/article/month/2013/03">2013年03月</a><span>(3)</span></li><li><a href="/a600423444/article/month/2013/02">2013年02月</a><span>(1)</span></li><li><a href="/a600423444/article/month/2012/10">2012年10月</a><span>(2)</span></li><li><a href="/a600423444/article/month/2012/09">2012年09月</a><span>(1)</span></li><li><a href="/a600423444/article/month/2012/07">2012年07月</a><span>(3)</span></li><li><a href="/a600423444/article/month/2012/06">2012年06月</a><span>(1)</span></li><li><a href="/a600423444/article/month/2012/05">2012年05月</a><span>(3)</span></li><li><a href="/a600423444/article/month/2012/04">2012年04月</a><span>(4)</span></li><li><a href="/a600423444/article/month/2012/03">2012年03月</a><span>(4)</span></li><li><a href="/a600423444/article/month/2012/01">2012年01月</a><span>(4)</span></li><li><a href="/a600423444/article/month/2011/12">2011年12月</a><span>(4)</span></li><li><a href="/a600423444/article/month/2011/11">2011年11月</a><span>(8)</span></li><li><a href="/a600423444/article/month/2011/10">2011年10月</a><span>(5)</span></li><li><a href="/a600423444/article/month/2011/09">2011年09月</a><span>(10)</span></li><li><a href="/a600423444/article/month/2011/08">2011年08月</a><span>(13)</span></li><li><a href="/a600423444/article/month/2011/07">2011年07月</a><span>(6)</span></li><li><a href="/a600423444/article/month/2011/06">2011年06月</a><span>(24)</span></li><li><a href="/a600423444/article/month/2011/05">2011年05月</a><span>(25)</span></li><li><a href="/a600423444/article/month/2011/04">2011年04月</a><span>(6)</span></li><li><a href="/a600423444/article/month/2011/03">2011年03月</a><span>(2)</span></li><li><a href="/a600423444/article/month/2011/02">2011年02月</a><span>(7)</span></li><li><a href="/a600423444/article/month/2011/01">2011年01月</a><span>(18)</span></li><li><a href="/a600423444/article/month/2010/12">2010年12月</a><span>(37)</span></li><li><a href="/a600423444/article/month/2010/11">2010年11月</a><span>(24)</span></li><li><a href="/a600423444/article/month/2010/10">2010年10月</a><span>(9)</span></li><li><a href="/a600423444/article/month/2010/09">2010年09月</a><span>(21)</span></li>
</div>
</ul>
</div>
<div id="hotarticls" class="panel">
<ul class="panel_head">
    <span>       
阅读排行    </span>
</ul>

<ul class="panel_body itemlist">
<li>
<a href="/a600423444/article/details/8944601" title="分析Redis架构设计">分析Redis架构设计</a><span>(17762)</span>
</li>
<li>
<a href="/a600423444/article/details/7206015" title="Linux GCC编译使用动态、静态链接库">Linux GCC编译使用动态、静态链接库</a><span>(17437)</span>
</li>
<li>
<a href="/a600423444/article/details/6658411" title="MyBatis动态SQL">MyBatis动态SQL</a><span>(15547)</span>
</li>
<li>
<a href="/a600423444/article/details/7203276" title="Redis C客户端API">Redis C客户端API</a><span>(10595)</span>
</li>
<li>
<a href="/a600423444/article/details/6671035" title="Apache Mina自定义编解码案例">Apache Mina自定义编解码案例</a><span>(9893)</span>
</li>
<li>
<a href="/a600423444/article/details/8108993" title="Windows中搭建PHP扩展开发环境">Windows中搭建PHP扩展开发环境</a><span>(9561)</span>
</li>
<li>
<a href="/a600423444/article/details/8108999" title="使用Sublime开发PHP扩展">使用Sublime开发PHP扩展</a><span>(9434)</span>
</li>
<li>
<a href="/a600423444/article/details/6674198" title="MyBatis普通查询与一对一映射查询">MyBatis普通查询与一对一映射查询</a><span>(9100)</span>
</li>
<li>
<a href="/a600423444/article/details/8811860" title="队列服务开发">队列服务开发</a><span>(8923)</span>
</li>
<li>
<a href="/a600423444/article/details/6365539" title="Java将Unix时间戳转换成指定格式日期">Java将Unix时间戳转换成指定格式日期</a><span>(8709)</span>
</li>
</ul>
</div>
<div id="hotarticls2" class="panel">
<ul class="panel_head"><span>评论排行</span></ul>
<ul class="panel_body itemlist">
<li>
<a href="/a600423444/article/details/8944601" title="分析Redis架构设计">分析Redis架构设计</a><span>(14)</span>
</li>
<li>
<a href="/a600423444/article/details/6748166" title="swing 模仿QQ登录界面">swing 模仿QQ登录界面</a><span>(13)</span>
</li>
<li>
<a href="/a600423444/article/details/8835801" title="C实现PHP的mysql数据库连接池">C实现PHP的mysql数据库连接池</a><span>(9)</span>
</li>
<li>
<a href="/a600423444/article/details/7410236" title="Activty界面切换动画">Activty界面切换动画</a><span>(7)</span>
</li>
<li>
<a href="/a600423444/article/details/7206015" title="Linux GCC编译使用动态、静态链接库">Linux GCC编译使用动态、静态链接库</a><span>(7)</span>
</li>
<li>
<a href="/a600423444/article/details/5948479" title="设置权限，让内网访问apache">设置权限，让内网访问apache</a><span>(6)</span>
</li>
<li>
<a href="/a600423444/article/details/8850617" title="PHP内核中的神器之HashTable">PHP内核中的神器之HashTable</a><span>(5)</span>
</li>
<li>
<a href="/a600423444/article/details/8108993" title="Windows中搭建PHP扩展开发环境">Windows中搭建PHP扩展开发环境</a><span>(5)</span>
</li>
<li>
<a href="/a600423444/article/details/12720543" title="VS2012开发调试PHP扩展">VS2012开发调试PHP扩展</a><span>(5)</span>
</li>
<li>
<a href="/a600423444/article/details/6365539" title="Java将Unix时间戳转换成指定格式日期">Java将Unix时间戳转换成指定格式日期</a><span>(4)</span>
</li>
</ul>
</div>
<div id="homepageArticles" class="panel tracking-ad" data-mod="popu_4">
<ul class="panel_head"><span>推荐文章</span></ul>
<ul class="panel_body" id="ad_commend"></ul>
</div>
<script type="text/javascript">
 new Ad(12, 'ad_commend');
</script><div id="newcomments" class="panel">
<ul class="panel_head"><span>最新评论</span></ul>
<ul class="panel_body itemlist">
    <li>
   
         <a href="/a600423444/article/details/7203276#comments">Redis C客户端API</a>
    <p style="margin:0px;"><a href="/zzjess" class="user_name">zzjess</a>:
这个比较科学 支持一下
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/7203276#comments">Redis C客户端API</a>
    <p style="margin:0px;"><a href="/zzjess" class="user_name">zzjess</a>:
这个比较科学，支持一下
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/7566799#comments">PHP资源类型</a>
    <p style="margin:0px;"><a href="/u013246812" class="user_name">u013246812</a>:
第一次接触resourse id和type，没有怎么看懂。zend_parse_parameters...
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/6748166#comments">swing 模仿QQ登录界面</a>
    <p style="margin:0px;"><a href="/Jason_Duan" class="user_name">Jason_Duan</a>:
楼主求发一份源码不能下载呀！！！wen0123qiang@163.com
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/8944601#comments">分析Redis架构设计</a>
    <p style="margin:0px;"><a href="/jzzwy" class="user_name">jzzwy</a>:
怎么看评论呢
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/6671035#comments">Apache Mina自定义编解码案例</a>
    <p style="margin:0px;"><a href="/dengliulin" class="user_name">dengliulin</a>:
老师你好： 有个问题就是mina自带 4种解码，已经可以处理任何对象 文本了。  那什么需求需要自定...
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/8835801#comments">C实现PHP的mysql数据库连接池</a>
    <p style="margin:0px;"><a href="/u014290054" class="user_name">u014290054</a>:
牛人，添加书签，学习。
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/8835801#comments">分析Redis架构设计</a>
    <p style="margin:0px;"><a href="/XUJIAOlf" class="user_name">XUJIAOlf</a>:
楼主的博客很赞。谢谢楼主分享
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/8835801#comments">分析Redis架构设计</a>
    <p style="margin:0px;"><a href="/shaynelq" class="user_name">shaynelq</a>:
为博文画图软件点赞
    </p>
    </li>
    <li>
   
         <a href="/a600423444/article/details/8835801#comments">C实现PHP的mysql数据库连接池</a>
    <p style="margin:0px;"><a href="/Nacidar" class="user_name">Nacidar</a>:
博主，下载链接失效了,希望能重新分享。要是可以的话，最好能分享到CSDN下载那。谢谢了。
    </p>
    </li>
</ul>
</div>
    </div>
    <div class="clear">
    </div>
 </div>   
            <div class="clear">
            </div>
        </div>
        

<script type="text/javascript" src="http://c.csdnimg.cn/rabbit/cnick/cnick.js"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/newblog.min.js"></script>


<script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=929071"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/JavaScript1.js"></script>

    <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script>
<script type="text/javascript">document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</script>
<script type="text/javascript" src="http://www.csdn.net/ui/scripts/Csdn/counter.js"></script>
<script type="text/javascript" src="http://ad.csdn.net/scripts/ad-blog.js"></script>
<script type="text/javascript">
    $(function () {
        function __get_code_toolbar(snippet_id) {
            return $("<a href='https://code.csdn.net/snippets/"
                    + snippet_id
                    + "' target='_blank' title='在CODE上查看代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/CODE_ico.png' width=12 height=12 alt='在CODE上查看代码片' style='position:relative;top:1px;left:2px;'/></a>"
                    + "<a href='https://code.csdn.net/snippets/"
                    + snippet_id
                    + "/fork' target='_blank' title='派生到我的代码片'  style='text-indent:0;'><img src='https://code.csdn.net/assets/ico_fork.svg' width=12 height=12 alt='派生到我的代码片' style='position:relative;top:2px;left:2px;'/></a>");
        }
        
        $("[code_snippet_id]").each(function () {
            __s_id = $(this).attr("code_snippet_id");
            if (__s_id != null && __s_id != "" && __s_id != 0 && parseInt(__s_id) > 70020) {
                __code_tool = __get_code_toolbar(__s_id);
                $(this).prev().find(".tools").append(__code_tool);
            }
        });
    });
</script>




    </div>
      <!--new top-->
    
    <script id="csdn-toolbar-id" btnId="header_notice_num" wrapId="note1" count="5" subCount="5" type="text/javascript" src="http://static.csdn.net/public/common/toolbar/js/toolbar.js"></script>     <!--new top-->
   
    <link href="http://c.csdnimg.cn/comm_ask/css/ask_float_block.css" type="text/css" rel="stylesheet" />
    <script language='JavaScript' type='text/javascript' src='http://c.csdnimg.cn/comm_ask/js/libs/wmd.js'></script>
    <script language='JavaScript' type='text/javascript' src='http://c.csdnimg.cn/comm_ask/js/libs/showdown.js'></script>
    <script language='JavaScript' type='text/javascript' src='http://c.csdnimg.cn/comm_ask/js/libs/prettify.js'></script>
    <script language='JavaScript' type='text/javascript' src='http://c.csdnimg.cn/comm_ask/js/apps/ask_float_block.js'></script>
   
</body>
</html>   
 